/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package request.detail;

import system.general.Exc;
import system.general.Logged;
import system.general.Persistencia;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author gilberto-CIDITIC
 */
@ManagedBean(name = "request_questions")
@ViewScoped
public class Respuestas {

    Logged logged;
    public List[] Pregunta = new List[21];
    private Persistencia persistencia = new Persistencia();
    private String sql = "";
    private int id_solicitud = 0;

    public Respuestas() {
    }

    private void load() {
        try {
            clear();
            ResultSet rsts;
            List respuestas = new LinkedList();
            sql = "SELECT CASE WHEN idl_pregunta < 10 then '0'|| idl_pregunta ELSE '' || idl_pregunta END AS codigo, idl_pregunta, idl_respuesta "
                    + "FROM public.v_solicitud_detalle "
                    + "WHERE id_solicitud="
                    + this.id_solicitud + " ORDER BY idl_pregunta, idl_respuesta ";

            rsts = persistencia.executeRsts(sql);
            int temp = 0;
            while (rsts.next()) {
                int pregunta = rsts.getInt("idl_pregunta");
                int respuesta = rsts.getInt("idl_respuesta");
                String codigo = rsts.getString("codigo");
                String valor = codigo + String.valueOf(respuesta);
                if (temp != pregunta && temp != 0) {
                    Pregunta[pregunta] = respuestas;
                    respuestas.clear();
                }
                respuestas.add(valor);
                temp = pregunta;
            }
            persistencia.dbDisconnect();
        } catch (SQLException ex) {
        } catch (Exception ex) {
        }
    }

    private List cargarRespuestas(int id_pregunta) throws Exc, SQLException, Exception {
        ResultSet rsts;
        List respuestas = new LinkedList();
        sql = "SELECT CASE WHEN idl_pregunta < 10 then '0' || idl_pregunta ELSE '' || idl_pregunta END AS codigo, idl_pregunta, idl_respuesta "
                + "FROM public.v_solicitud_detalle where id_solicitud="
                + this.id_solicitud + " AND idl_pregunta = " + id_pregunta + " ORDER BY idl_pregunta, idl_respuesta ";

        rsts = persistencia.executeRsts(sql);
        while (rsts.next()) {
            String pregunta = rsts.getString("codigo");
            int respuesta = rsts.getInt("idl_respuesta");
            String valor = pregunta + String.valueOf(respuesta);
            respuestas.add(valor);
        }
        persistencia.dbDisconnect();
        return respuestas;
    }

    public void cargarTodasRespuestas(int id_solicitud) throws Exc, SQLException, Exception {
        this.id_solicitud = id_solicitud;
        for (int i = 1; i < Pregunta.length; i++) {
            this.Pregunta[i] = this.cargarRespuestas(i);
        }
    }

    public void clear() {
        for (int i = 1; i < this.getPregunta().length; i++) {
            this.getPregunta()[i] = new LinkedList();
        }
    }

    public void setPregunta1(List Respuesta) {
        this.getPregunta()[1] = Respuesta;
    }

    public List getPregunta1() {
        return this.getPregunta()[1];
    }

    public void setPregunta2(List Respuesta) {
        this.getPregunta()[2] = Respuesta;
    }

    public List getPregunta2() {
        return this.getPregunta()[2];
    }

    public void setPregunta3(List Respuesta) {
        this.getPregunta()[3] = Respuesta;
    }

    public List getPregunta3() {
        return this.getPregunta()[3];
    }

    public void setPregunta4(List Respuesta) {
        this.getPregunta()[4] = Respuesta;
    }

    public List getPregunta4() {
        return this.getPregunta()[4];
    }

    public void setPregunta5(List Respuesta) {
        this.getPregunta()[5] = Respuesta;
    }

    public List getPregunta5() {
        return this.getPregunta()[5];
    }

    public void setPregunta6(List Respuesta) {
        this.getPregunta()[6] = Respuesta;
    }

    public List getPregunta6() {
        return this.getPregunta()[6];
    }

    public void setPregunta7(List Respuesta) {
        this.getPregunta()[7] = Respuesta;
    }

    public List getPregunta7() {
        return this.getPregunta()[7];
    }

    public void setPregunta8(List Respuesta) {
        this.getPregunta()[8] = Respuesta;
    }

    public List getPregunta8() {
        return this.getPregunta()[8];
    }

    public void setPregunta9(List Respuesta) {
        this.getPregunta()[9] = Respuesta;
    }

    public List getPregunta9() {
        return this.getPregunta()[9];
    }

    public void setPregunta10(List Respuesta) {
        this.getPregunta()[10] = Respuesta;
    }

    public List getPregunta10() {
        return this.getPregunta()[10];
    }

    public void setPregunta11(List Respuesta) {
        this.getPregunta()[11] = Respuesta;
    }

    public List getPregunta11() {
        return this.getPregunta()[11];
    }

    public void setPregunta12(List Respuesta) {
        this.getPregunta()[12] = Respuesta;
    }

    public List getPregunta12() {
        return this.getPregunta()[12];
    }

    public void setPregunta13(List Respuesta) {
        this.getPregunta()[13] = Respuesta;
    }

    public List getPregunta13() {
        return this.getPregunta()[13];
    }

    public void setPregunta14(List Respuesta) {
        this.getPregunta()[14] = Respuesta;
    }

    public List getPregunta14() {
        return this.getPregunta()[14];
    }

    public void setPregunta15(List Respuesta) {
        this.getPregunta()[15] = Respuesta;
    }

    public List getPregunta15() {
        return this.getPregunta()[15];
    }

    public void setPregunta16(List Respuesta) {
        this.getPregunta()[16] = Respuesta;
    }

    public List getPregunta16() {
        return this.getPregunta()[16];
    }

    public void setPregunta17(List Respuesta) {
        this.getPregunta()[17] = Respuesta;
    }

    public List getPregunta17() {
        return this.getPregunta()[17];
    }

    public void setPregunta18(List Respuesta) {
        this.getPregunta()[18] = Respuesta;
    }

    public List getPregunta18() {
        return this.getPregunta()[18];
    }

    public void setPregunta19(List Respuesta) {
        this.getPregunta()[19] = Respuesta;
    }

    public List getPregunta19() {
        return this.getPregunta()[19];
    }

    public void setPregunta20(List Respuesta) {
        this.getPregunta()[20] = Respuesta;
    }

    public List getPregunta20() {
        return this.getPregunta()[20];
    }

    public List[] getPregunta() {
        return Pregunta;
    }

    public void setPregunta(List[] Pregunta) {
        this.Pregunta = Pregunta;
    }
}
